#include <unordered_map>
#include <list>
class LRUCache;
class LRUNode {
    private:
        int key_;
        int value_;
        LRUNode *prev_;
        LRUNode *next_;
    public:
        /**
         * @brief LRU节点构造函数
         * 
         * 初始化LRU节点的键值对，并设置前后指针为空
         * 
         * @param key   节点的键，用于唯一标识缓存项
         * @param value 节点存储的值，对应缓存的实际数据
         */
        LRUNode(int key, int value) {
            // 初始化键值对
            key_ = key;
            value_ = value;
            
            // 设置双向链表指针为空
            prev_ = nullptr;
            next_ = nullptr;
        }
        int get_key() {
            return key_;
        }
        int get_value() {
            return value_;
        }
        void set_value(int value) {
            value_ = value;
        }
        friend class KLruCache;
};

class LRUCache {
    private:
        
};